
package com.lwy.setter.dto;



import com.lwy.setter.annos.CarrierCode;
import com.lwy.setter.annos.EnumCode;
import com.lwy.setter.annos.EnumValue;
import lombok.Data;

import java.io.Serializable;

import static com.lwy.setter.NameSetterMeta.bindTypeAnnotation;


@Data
public class BaseCarrierDTO implements Serializable {
    static {
        bindTypeAnnotation(BaseCarrierDTO.class, EnumCode.class);
        bindTypeAnnotation(BaseCarrierDTO.class, CarrierCode.class);
        bindTypeAnnotation(BaseCarrierDTO.class, EnumValue.class);
    }

    private Long id;

    @CarrierCode
    private String carrierCode;

    private String carrierName;

    @EnumCode(typeCode = "TypeEnum", value = "typeName")
    private String type;
    /**
     * 所属类型，自有/三方名称
     */
    private String typeName;

    @EnumValue(typeCode = "TypeEnum", value = "typeValueName")
    private Integer typeValue;

    private String typeValueName;

}